import axios from "axios";
import { Notify } from 'vant';
import router from "../router/index.js";

//process.env.NODE_ENV 获取环境  
//production 生产环境---接口文档的生产网址
//development 开发环境---接口文档的开发网址(因为配置跨域，现在能提取的公共网址/api/v1)
axios.defaults.baseURL=process.env.NODE_ENV=="production"?"XXX":"/api/v1";

// 添加请求拦截器----将来存放token
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
	let token=localStorage.getItem("xfdata");
	if(token){
		config.headers.token=token;
	}
	
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {

	//只要不是200的验证码，统一处理
    if(response.data.resultCode!=200){
		//如果不含有 已存在,才给红色提示， 有 已存在，页面要单独做提示Toast
		if(!response.data.message.includes("已存在")){
			Notify(response.data.message||"网络问题");
		}

		if(response.data.resultCode==416){//返回登录页面，重新登录,***返回详情页
			router.push("/login?needback=true");//query参数---》有 返回详情页
		}
	}
	
    return response.data;//因为请求成功的数据都在data里，所以返回response.data
  }, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  });
  
 export default axios;//导出axios二次封装的文件